虛擬令牌傳遞串行通訊方式在控制系統(tǒng)中的應(yīng)用
2002/7/18 18:55:00
摘要:本文主要介紹了虛擬令牌傳遞方式在控制系統(tǒng)中的應(yīng)用,重點(diǎn)介紹了虛擬環(huán)形網(wǎng)令牌傳遞方式控制數(shù)據(jù)傳輸?shù)臋C(jī)制。 關(guān)鍵詞:串行通訊 令牌傳遞 The Application of Virtual Token Passing in Controlling System SHI Jun-hua Abstract: This paper mainly introduce the application of Virtual Token passing in controlling system,especially introduce the rule of transmiting data. Keyword:Serial communication Token passing 串行通訊端口( Serial Communication Port)在系統(tǒng)控制的范疇中一直占有極其重要的位置。在工業(yè)控制方面,具備通訊功能的智能設(shè)備最簡(jiǎn)單最常用的接口便是RS232/RS485,簡(jiǎn)單易用。令牌環(huán)(Token Ring)是采用最為普遍的無(wú)沖突訪問(wèn)介質(zhì)訪問(wèn)控制,環(huán)中只有一個(gè)令牌在循環(huán)傳送。任何一個(gè)節(jié)點(diǎn)要發(fā)送數(shù)據(jù),必須等到循環(huán)的令牌通過(guò)該站,然后將數(shù)據(jù)送入環(huán)中并將令牌傳送至下一個(gè)節(jié)點(diǎn)。結(jié)合具體的系統(tǒng)需求,將令牌環(huán)應(yīng)用到串行通訊訪問(wèn)控制中,將會(huì)收到很好的效果。 我公司新開(kāi)發(fā)研制的DLCS2000集散控制系統(tǒng)上位機(jī)與現(xiàn)場(chǎng)控制器間采用的便是RS232/RS485串行通訊方式。最初設(shè)計(jì)的是主從式通訊方式,但在調(diào)試過(guò)程中發(fā)現(xiàn)該方式不能很好的滿足系統(tǒng)對(duì)實(shí)時(shí)性、可靠性的要求。結(jié)合系統(tǒng)的具體情況,改為虛擬令牌方式進(jìn)行通訊,系統(tǒng)的實(shí)時(shí)性、可靠性有了很大的改觀?,F(xiàn)對(duì)此做一介紹。 該系統(tǒng)結(jié)構(gòu)如下: 
系統(tǒng)由工程師站、操作站、現(xiàn)場(chǎng)控制器組成?,F(xiàn)場(chǎng)控制器為可編程控制器,支持RS232/RS485通訊,這里選用RS485通訊,多個(gè)控制器的RS485端并接通過(guò)RS232/RS485轉(zhuǎn)換模塊與工程師站的RS232通訊口相連接完成數(shù)據(jù)的交換。工程師站與操作站間通過(guò)以太網(wǎng)進(jìn)行數(shù)據(jù)的交換?,F(xiàn)場(chǎng)控制器主要完成現(xiàn)場(chǎng)數(shù)據(jù)的采集、報(bào)警、控制運(yùn)算、控制輸出等,同時(shí)將現(xiàn)場(chǎng)采集的數(shù)據(jù)傳到工程師站并將工程師站的命令進(jìn)行轉(zhuǎn)換輸出控制現(xiàn)場(chǎng)的設(shè)備。工程師站提供現(xiàn)場(chǎng)控制的人機(jī)接口,負(fù)責(zé)接收現(xiàn)場(chǎng)控制站傳來(lái)的現(xiàn)場(chǎng)數(shù)據(jù)并以棒圖、趨勢(shì)曲線、報(bào)表等方式進(jìn)行管理,同時(shí)負(fù)責(zé)將現(xiàn)場(chǎng)操作、控制命令傳達(dá)給現(xiàn)場(chǎng)控制器,由控制器完成具體的計(jì)算控制功能。操作站分散在現(xiàn)場(chǎng)的不同地方,從工程師站共享數(shù)據(jù),完成現(xiàn)場(chǎng)的檢測(cè)控制功能。影響該系統(tǒng)性能的關(guān)鍵是工程師站與各現(xiàn)場(chǎng)控制器間的數(shù)據(jù)通訊。 工程師站與各現(xiàn)場(chǎng)控制器間采用虛擬令牌傳遞方式進(jìn)行通訊。 首先,將系統(tǒng)虛擬成一個(gè)環(huán)行網(wǎng)結(jié)構(gòu),每個(gè)通訊節(jié)點(diǎn)(包括上位機(jī)和控制器)作為環(huán)行網(wǎng)結(jié)構(gòu)中的一個(gè)節(jié)點(diǎn)。例如:有4臺(tái)現(xiàn)場(chǎng)控制器,1臺(tái)上位機(jī),則該環(huán)中共有1+4=5個(gè)節(jié)點(diǎn)。令牌環(huán)行傳遞的順序?yàn)椋?→2→3→4→5→1 然后,在環(huán)行網(wǎng)中虛擬一個(gè)權(quán)限令牌,在各節(jié)點(diǎn)間傳遞。節(jié)點(diǎn)收到令牌時(shí)立即發(fā)送響應(yīng)信號(hào)(在中斷中執(zhí)行),然后發(fā)送數(shù)據(jù)(在主程序中判斷如果有數(shù)據(jù)需要發(fā)送則發(fā)送,否則不執(zhí)行),接著向下一個(gè)節(jié)點(diǎn)傳遞令牌。令牌發(fā)出后,等待響應(yīng)信號(hào),如果等待超時(shí),則跳過(guò)下一個(gè)節(jié)點(diǎn)繼續(xù)向其下一個(gè)節(jié)點(diǎn)傳遞令牌,如果收到響應(yīng)信號(hào),則解除等待狀態(tài)。該方式中的幾點(diǎn)說(shuō)明:(上位機(jī)對(duì)應(yīng)上述工程師站) 1、節(jié)點(diǎn)號(hào):在虛擬環(huán)行網(wǎng)中,節(jié)點(diǎn)順序排列為:現(xiàn)場(chǎng)控制器從1號(hào)(與其地址對(duì)應(yīng))開(kāi)始逐個(gè)遞增,上位機(jī)節(jié)點(diǎn)號(hào)為環(huán)中最大節(jié)點(diǎn)號(hào)。 2、信號(hào)響應(yīng)方式:當(dāng)節(jié)點(diǎn)接收到令牌應(yīng)立即發(fā)應(yīng)答信號(hào),然后判斷是否發(fā)送數(shù)據(jù),接著向下一節(jié)點(diǎn)傳遞令牌,等待應(yīng)答信號(hào)。當(dāng)節(jié)點(diǎn)收到應(yīng)答信號(hào),解除等待狀態(tài)。如果在等待應(yīng)答過(guò)程中超時(shí),則跳過(guò)下一個(gè)節(jié)點(diǎn),向下一個(gè)節(jié)點(diǎn)繼續(xù)傳遞令牌。 3、主節(jié)點(diǎn):在虛擬環(huán)行網(wǎng)中,上位機(jī)節(jié)點(diǎn)作為主節(jié)點(diǎn),啟動(dòng)后等待一段時(shí)間如果沒(méi)有收到令牌,則主動(dòng)生成一個(gè)令牌向1號(hào)節(jié)點(diǎn)傳遞。在運(yùn)行過(guò)程中,上位機(jī)檢測(cè)兩次收到令牌的時(shí)間間隔,如果第一次收到令牌后,經(jīng)過(guò)一定時(shí)間后未收到令牌,則認(rèn)為令牌在傳遞過(guò)程中丟失,上位節(jié)點(diǎn)主動(dòng)生成一令牌向一號(hào)節(jié)點(diǎn)傳遞。 4、有關(guān)令牌傳遞的幾個(gè)變量和常量說(shuō)明: RingFlag:令牌持有與否的標(biāo)志(1:持有令牌 0:不持有令牌) WaitAck: 等待應(yīng)答信號(hào)的標(biāo)志(1:等待應(yīng)答 0:解除等待應(yīng)答) CycleCount:等待應(yīng)答期間計(jì)時(shí)變量(接收到應(yīng)答時(shí)便清零,等待應(yīng)答時(shí)循環(huán)累加計(jì)數(shù)) RingTime:兩次收到令牌的最大時(shí)間間隔(預(yù)定義常量) CycleNum:等待應(yīng)答超時(shí)上限(預(yù)定義常量) NodeNum:環(huán)行網(wǎng)中節(jié)點(diǎn)總數(shù)(預(yù)定義常量) 經(jīng)測(cè)試和現(xiàn)場(chǎng)的實(shí)際應(yīng)用,認(rèn)為利用虛擬令牌傳遞方式進(jìn)行多節(jié)點(diǎn)間的數(shù)據(jù)通訊,有利于提高系統(tǒng)的通訊速度即系統(tǒng)的實(shí)時(shí)性,同時(shí)因通過(guò)虛擬令牌來(lái)控制發(fā)送數(shù)據(jù)的權(quán)限,避免了多個(gè)節(jié)點(diǎn)同時(shí)發(fā)送引起沖突而導(dǎo)致數(shù)據(jù)出錯(cuò)的情況,降低了數(shù)據(jù)傳輸?shù)某鲥e(cuò)率即提高了系統(tǒng)的可靠性。較主從式通訊方式相比,在實(shí)時(shí)性和可靠性上都有很大的提高。 串行通訊由于其簡(jiǎn)單易用而被廣泛應(yīng)用,選用哪種方式應(yīng)根據(jù)對(duì)具體性能要求的不同而考慮采用不同方式,以達(dá)到適用的效果。本文介紹的是在實(shí)時(shí)控制系統(tǒng)中所采用的一種方式,采用虛擬令牌傳遞來(lái)控制各節(jié)點(diǎn)的數(shù)據(jù)傳送,以提高系統(tǒng)對(duì)實(shí)時(shí)性、可靠性的要求。其它方式可以查閱相關(guān)的文獻(xiàn)資料,本文只起到拋磚引玉的作用。 參考文獻(xiàn) 1、范逸之 VB與 RS232串行通訊控制 中國(guó)青年出版社,2000-08 2、雷震甲等著 計(jì)算機(jī)網(wǎng)絡(luò) 西安電子科技大學(xué)出版社 1997-04 3、Stallings W. Data and Computer Communications,4th Edition. Macmillan Publishing Company,1994


提交
查看更多評(píng)論
其他資訊
TSN 技術(shù)助力家電制造自動(dòng)化
喜訊!MGate 5123 榮獲 “數(shù)字化創(chuàng)新獎(jiǎng)”
協(xié)議網(wǎng)關(guān)如何實(shí)現(xiàn)智能電網(wǎng)數(shù)位轉(zhuǎn)型
跨界融合的力量:BESS 如何實(shí)現(xiàn)電力流與數(shù)據(jù)流的完美相融
Moxa 喜獲全球首個(gè) IEC 62443-4-2 工業(yè)安全路由器認(rèn)證